package com.pro.mapper;

import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.omg.PortableInterceptor.INACTIVE;

import java.util.List;
import java.util.Map;

/**
 * ClassName:WelcomeMapper
 * Package:com.pro.mapper
 * Description:
 *
 * @Date:2022/1/21 17:27
 * @Author: ZPT
 */
public interface WelcomeMapper {
    /**
     * @author ZPT
     * @date 2022/1/21 17:27
     * @content :上架商品总数 1
     */
    Integer getGoodsSum(Integer productSate);

    /**
     * @author ZPT
     * @date 2022/1/21 17:27
     * @content :上传上架视频总数 2
     */
    Integer getCourseStatusSum(Integer courseStatus);

    /**
     * @author ZPT
     * @date 2022/1/21 17:28
     * @content :发布微圈总数
     */
    Integer getMicrocircleSum();

    /**
     * @author ZPT
     * @date 2022/1/21 17:28
     * @content :已完成订单总数 签收6 退订待审核量 退货申请7
     */
    Integer getOrderSum(Integer orderStatus);

    /**
     * @author ZPT
     * @date 2022/1/21 17:37
     * @content :商品、课程、微圈待审核量 2、待审核 2视频、3、商品 4、微圈
     */
    Integer getExamineSum(@Param("result") String result, @Param("type") Integer type);

    /**
     * @author ZPT
     * @date 2022/1/21 17:47
     * @content :今日新增用户
     */
    Integer getTodayUserSum();

    /**
     * @author ZPT
     * @date 2022/1/21 17:47
     * @content :昨日新增用户
     */
    Integer getYesterdayUserSum();

    /**
     * @author ZPT
     * @date 2022/1/21 17:47
     * @content :本月新增用户
     */
    Integer getMonthUserSum();

    /**
     * @author ZPT
     * @date 2022/1/22 18:23
     * @content :本月新增课程数量
     */
    Integer getCourseMonthAddCount();

    /**
     * @author ZPT
     * @date 2022/1/22 18:24
     * @content :本周用户申请成功数量
     */
    Integer getUserAddWeekCount();

    /**
     * @author ZPT
     * @date 2022/1/22 18:40
     * @content :上一个月的新增课程数量
     */
    Integer getCourseAddLastMonthCount();

    /**
     * @author ZPT
     * @date 2022/1/22 19:28
     * @content :上一个月的用户数量
     */
    Integer getUserAddLastMonthCount();

    /**
     * @author ZPT
     * @date 2022/1/23 21:04
     * @content :上传视频总数
     */
    Integer getCourseSum();

    /**
     * @author ZPT
     * @date 2022/1/23 20:44
     * @content :视频浏览、收藏、点赞量
     */
    Integer getCourseQuantitySum(@Param("field") String field, @Param("courseStatus") Integer courseStatus);

    /**
     * @author ZPT
     * @date 2022/1/23 21:12
     * @content :微圈点赞量
     */
    Integer getMicrocircleQuantitySum(String field);

    /**
     * @author ZPT
     * @date 2022/1/21 18:34
     * @content :本周课程新增量
     */
    @MapKey("dateFor")
    Map<String, String> getWeekCount(@Param("field") String field, @Param("table") String table, @Param("dataType") String dataType);

    /**
     * @author ZPT
     * @date 2022/1/24 18:39
     * @content :商品销售总量
     */
    Integer getGoodsSalesSum(@Param("orderType") Integer orderType, @Param("productSate") Integer productSate);

    /**
     * @author ZPT
     * @date 2022/1/24 18:39
     * @content :商品收藏总数
     */
    Integer getGoodsCollectSum(Integer collectionType);

    /**
     * @author ZPT
     * @date 2022/1/24 19:13
     * @content :订单总数
     */
    Integer getOrderCount();

    /**
     * @author ZPT
     * @date 2022/1/24 19:18
     * @content :本月新增商品
     */
    Integer getGoodsMonthAddSum();

    /**
     * @author ZPT
     * @date 2022/1/24 19:18
     * @content :上个月新增商品
     */
    Integer getGoodsLastMonthAddSum();


    /**
     * @author ZPT
     * @date 2022/1/26 18:41
     * @content :前端用户总数
     */
    Integer getBeforeUserSum();

    /**
     * @author ZPT
     * @date 2022/1/26 18:45
     * @content :进思用户总数
     */
    Integer getJinSiBeforeUserSum();

    /**
     * @author ZPT
     * @date 2022/1/26 18:46
     * @content :非进思用户总数
     */
    Integer getNoJinSiBeforeUserSum();

    /**
     * @author ZPT
     * @date 2022/1/26 19:04
     * @content :后台用户总数
     */
    Integer getUserSum();

    /**
     * @author ZPT
     * @date 2022/1/26 19:12
     * @content :创作者认证待处理信息 1
     */
    Integer getPendingApplyRecordSum(Integer result);

    /**
     * @author ZPT
     * @date 2022/1/26 19:28
     * @content :上一个月的前端用户量
     */
    Integer getLastAddBeforeUserSum();
}
